Platform Explorer / Nuxeo Platform 2023.20

Component org.nuxeo.ecm.platform.treeManager

Documentation

TreeManager component and service declaration.

Resolution Order

625
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.

Start Order

882
The start order represents the order in which this component has been started by the Nuxeo Runtime framework.
This number is interesting to tweak if your Java component interacts with other components, and needs to be started before or after another one.
It can be changed by implementing the method "Component#getApplicationStartedOrder()" on your Java component: components are sorted according to this reference value, in increasing order.
The default value is 1000, and the repository initialization uses number 100. Negative values can also be used.

Implementation

Class: org.nuxeo.ecm.webapp.tree.TreeManagerImpl

Services

Extension Points

XML Source

<?xml version="1.0"?>

<component name="org.nuxeo.ecm.platform.treeManager">

  <documentation>
    TreeManager component and service declaration.

    @author Anahide Tchertchian (at@nuxeo.com)
  </documentation>

  <implementation class="org.nuxeo.ecm.webapp.tree.TreeManagerImpl" />

  <service>
    <provide interface="org.nuxeo.ecm.webapp.tree.TreeManager" />
  </service>

  <extension-point name="plugin">
    <documentation>
      Plugin extension point for the tree manager service.

      Enables registration of plugins that will control document filter and
      sorting.

      Example of a plugin registration:

      <code>
        <treeManagerPlugin name="navigation">
          <excludedFacets>
            <facet name="HiddenInNavigation" />
          </excludedFacets>
          <includedFacets>
            <facet name="Folderish" />
          </includedFacets>
          <excludedTypes>
            <type>Section</type>
          </excludedTypes>
          <sortPropertyPath>dc:title</sortPropertyPath>
          <filterClass>org.example.com.MyFilterClass</filterClass>
          <leafFilterClass>org.example.com.MyLeafFilterClass</leafFilterClass>
          <sorterClass>org.example.com.MySorterClass</sorterClass>
        </treeManagerPlugin>
      </code>

      Example of a plugin using a page provider:

      <code>
        <treeManagerPlugin name="navigation">
          <leafFilterClass>
            org.nuxeo.ecm.webapp.tree.BigFolderLeafFilter
          </leafFilterClass>
          <pageProvider>TREE_CHILDREN</pageProvider>
        </treeManagerPlugin>
      </code>

      <ul>
        <li>
          excludedFacets: list of facets used to filter documents that should
          not appear in the tree
        </li>
        <li>
          includedFacets: list of facets used to filter documents that should
          appear in the tree
        </li>
        <li>
          excludedTypes: list of types used to filter documents that should not
          appear in the tree
        </li>
        <li>
          sortPropertyPath: property path used to sort tree node children when
          using the default sorter
        </li>
        <li>
          filterClass: the filter class has to implement the
          org.nuxeo.ecm.core.api.Filter interface. If it implements the
          org.nuxeo.ecm.webapp.tree.DocumentTreeFilter interface, the above
          filter properties will be set on it.
        </li>
        <li>
          leafFilterClass: filter that can decide that a document is shown with
          no children. The leaf filter class has to implement the
          org.nuxeo.ecm.core.api.Filter interface.
        </li>
        <li>
          sorterClass: the sorter class has to implement the
          org.nuxeo.ecm.core.api.Sorter interface. If it implements the
          org.nuxeo.ecm.webapp.tree.DocumentTreeSorter interface, the above sort
          property will be set on it.
        </li>
        <li>
          queryModel: the page provider (with one free parameter that will be
          replaced by the tree node id) to use to list the children of a
          document in the tree. When not defined, a core query using the
          filterClass and sorterClass is used.
        </li>
        <li>
          queryModel: the query model (with one free parameter) to use to list
          the children of a document in the tree. When not defined, a core query
          using the filterClass and sorterClass is used. NOW DEPRECATED, use
          pageProvider instead.
        </li>
        <li>
          orderableQueryModel: the query model (with one free parameter) to use
          to list the children of an orderable document in the tree. NOW
          DEPRECATED, use pageProvider instead.
        </li>
      </ul>


    </documentation>
    <object class="org.nuxeo.ecm.webapp.tree.TreeManagerPluginDescriptor" />
  </extension-point>

</component>